package com.delivery.deliverysystem.pojo.DO;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 送货详情表，送货表和产品表的中间表
 * @TableName delivery_detail
 */
@TableName(value ="delivery_detail")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeliveryDetail implements Serializable {
    /**
     * 送货详情id
     */
    @TableId(value = "delivery_detail_id", type = IdType.AUTO)
    @ApiModelProperty("送货详情id")
    private Integer deliveryDetailId;
    /**
     * 物料代码
     */
    @ApiModelProperty("物料代码")
    private String productId;
    /**
     * 送货单号
     */
    @ApiModelProperty("送货单号")
    private String deliveryId;
    /**
     * 数量
     */
    @ApiModelProperty("数量")
    private Integer number;
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("金额")
    private BigDecimal price;

    @ApiModelProperty("折扣")
    private String discount;

    @ApiModelProperty("单重")
    private Double singleWeight;

    @ApiModelProperty("重量")
    private Double weight;

    @ApiModelProperty("颜色")
    private String color;

    @ApiModelProperty("模具类型")
    private String modelType;

    @ApiModelProperty("备注2")
    @TableField("remark_2")
    private String remark2;

    @ApiModelProperty("备注3")
    @TableField("remark_3")
    private String remark3;

    @ApiModelProperty("备注4")
    @TableField("remark_4")
    private String remark4;

    @ApiModelProperty("备注5")
    @TableField("remark_5")
    private String remark5;

    @ApiModelProperty("备注6")
    @TableField("remark_6")
    private String remark6;

    @ApiModelProperty("备注7")
    @TableField("remark_7")
    private String remark7;

    @ApiModelProperty("数量2")
    @TableField("number_2")
    private Integer number2;

    @ApiModelProperty("档号")
    private String fileNum;

    @ApiModelProperty("单位")
    private String unit;

    @ApiModelProperty("单价")
    private BigDecimal singlePrice;

    @ApiModelProperty("成本价")
    private BigDecimal costPrice;

    @ApiModelProperty("产品类别")
    private String category;

    @ApiModelProperty("品名/规格")
    private String productName;

    @ApiModelProperty("刀模编号")
    private String bladeMouldNumber;
    @ApiModelProperty("刀模名称")
    private String bladeMouldName;
    @ApiModelProperty("刀总长")
    private double bladeTotalLength;
    @ApiModelProperty("圆形直径")
    private double circleRadius;
    @ApiModelProperty("方形长宽")
    private double rectangleLengthWidth;
    @ApiModelProperty("异形最长的长宽")
    private double alienLengthWidth;
    @ApiModelProperty("线段长度")
    private double lineLength;
    @ApiModelProperty("落料孔直径")
    private double punchingHole;
    @ApiModelProperty("刀模板总长")
    private double bladeLength;
    @ApiModelProperty("刀模板总宽")
    private double bladeWidth;
    @ApiModelProperty("刀模版面积")
    private double bladeTemplateArea;
    @ApiModelProperty("定位柱个数")
    private Integer locatingColumnCount;
    @ApiModelProperty("落料孔个数")
    private Integer punchingHoleCount;
    @ApiModelProperty("螺丝孔个数")
    private Integer screwHoleCount;
    @ApiModelProperty("工件个数")
    private Integer workPieceCount;
    @ApiModelProperty("落料孔米数")
    private double punchingHoleMeters;
    @ApiModelProperty("文字")
    private String text;
    @ApiModelProperty("每个工件的长度")
    private String allWork;

    @ApiModelProperty("报价单")
    private String quotationForm;
    @ApiModelProperty("检验单")
    private String inspectionForm;
    @ApiModelProperty("标签表")
    private String label;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}